package pro.seac.twitter.web.view;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Gravatar {
	private static final String gravatarUrl = "http://www.gravatar.com/avatar/";

	public static String hex(byte[] array) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < array.length; ++i) {
			sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1, 3));
		}
		return sb.toString();
	}

	public static String md5Hex(String message) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			return hex(md.digest(message.getBytes("CP1252")));
		} catch (NoSuchAlgorithmException e) {} catch (UnsupportedEncodingException e) {}
		return null;
	}

	public static String getAvatarUrl(String email, String size) {
		if (size == null) size = "48";
		return gravatarUrl + md5Hex(email) + ".jpg?s=" + size + "&r=g&d=mm";
	}
}